iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
0
自我挑戰組

從爬蟲到架站系列 第 3

Day 2: 從爬蟲到架站-儲存資料

  • 分享至 

  • xImage
  •  

目前已經透過爬蟲來取得資料了,接著要將這些資料存進Firebase裡

Firebase

這邊只會用到Firebase的Cloud Firestore功能,官方文件

之後搭建網站將會使用Flask,所以在這邊我們使用Python來串接,創建好自己的應用後,取得私鑰的json檔案,接者就可以連接到Firebase了。

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

# Use a service account
cred = credentials.Certificate('path/to/serviceAccount.json')
firebase_admin.initialize_app(cred)

db = firestore.client()

而因為Firebase是No SQL,所以不需要使用SQL指令。

而我們需要創建collection和document,這邊我將打者設為一個collection,每位選手為一個document,並將它包成一個function。

def store_month(data):
    batch = db.batch()

    for player in data:
        doc_ref = db.collection(u'打者').document(player['Name'])
        del player['Name']
        batch.update(doc_ref, {u'月份':player})
    batch.commit()

這段程式碼我使用了batch,batch的好處在於只需要用一個request就能寫入多筆資料(單次上限為500),寫入時使用update則是因為有些球員的資料是不需要更新的。

儲存成功的樣子

接著讓爬蟲呼叫這個function就可以寫入了。

下一篇將開始用Flask將網站搭建起來


上一篇
Day 1: 從爬蟲到架站-優化爬蟲
下一篇
Day 3: 從爬蟲到架站-建置網站
系列文
從爬蟲到架站21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言